Computer reservation and usage monitoring system and related methods

ABSTRACT

A computer network may include a host computer and a plurality of computer workstations selectively connectable thereto at which user work sessions may be initiated. Each computer workstation when disconnected from the host computer (e.g., due to server outage, etc.) may advantageously initiate a user session responsive to a user request and store session information for updating the respective user account balance when reconnected with the host computer. Additionally, when the computer workstations are connected to the host computer they may copy respective user account balances from the host computer upon initiation of user sessions, and update the copied account balances based upon computer usage during the respective user sessions. The computer network may also include at least one reservation computer for cooperating with the host computer to schedule user session reservations and provide a requesting user an estimated time before a user session will be made available.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. ProvisionalApplication No. 60/358,187, filed Feb. 20, 2002, which is herebyincorporated herein in its entirety by reference.

FIELD OF THE INVENTION

[0002] The present invention relates to the field of computer networks,and, more particularly, to monitoring and controlling the usage ofcomputers in a computer network.

Background of the Invention

[0003] Many institutions, such as libraries and universities, forexample, provide computer workstations for use by patrons, students, orother users. Such computer workstations may be connected in a wide areanetwork (WAN) or local area network (LAN) with a server or host computerwhich may provide access to the Internet, centrally located files orapplications, etc. The computer workstations may also run localapplications such as word processors, spread sheets, etc., for theusers.

[0004] Of course, one difficulty which can arise in such cases isallocating the use of such computers in a fair manner to all users. Thatis, certain users may not follow usage rules and use the computerslonger then they are allowed. This not only keeps other users fromhaving an opportunity to use a workstation, but it also potentially putssupport staff in the awkward and confrontational position of asking theuser to cease using the computer or even leave the premises. Moreover,having to “police” the computer workstations can detract from thestaff's ability to perform other functions.

[0005] To address such problems, various computer software programs havebeen developed to regulate the amount of time users can spend on acomputer or workstation. Examples of “time out” software products, whichlog a user off of a computer after a predetermined session time limithas expired, include Time Limit Manager from Fortres Grand Corp. andTempo from Hyper Technologies, Inc. Other software products provide evenfurther computer network management capabilities, such as the ability toreserve computer workstation sessions in advance. One such product is PCCop from Card Meter Systems, Inc.

[0006] Another particularly advantageous computer reservation and timeout software product is SignUp from Pharos Systems U.S.A., Inc.,assignee of the present invention. In particular, SignUp is a system forreserving the use of public access computers. Workstations such aspersonal computers (PCs) can be reserved either in a queued situation ina walk-in environment or for immediate use by logging onto an idle PC.The use of PCs is monitored by the system and enforced. SignUp canreserve PCs for any user, subject to security restrictions, and allowsdifferent methods of reserving PCs. Furthermore, it provides scheduledaccess times for different groups of networked PCs, and it integratesseamlessly with other Pharos software to provide billing for thecomputer time used, pages printed, etc.

[0007] Despite the significant advancements provided in the area ofcomputer reservation and time management by Pharos Signup, there may becertain occasions when additional functionality may be desirable. Forexample, most time out and reservation products require a user to beauthenticated based upon user account information stored on the hostcomputer or server. As such, when the server goes down, users areprohibited from initiating new user sessions at the workstations, andmay perhaps be logged off existing sessions.

SUMMARY OF THE INVENTION

[0008] In view of the foregoing background, it is therefore an object ofthe present invention to provide a computer network and related methodsfor providing enhanced computer reservation and time monitoring featuresand related methods.

[0009] This and other objects, features, and advantages in accordancewith the present invention are provided by a computer network which mayinclude a host computer and a plurality of computer workstationsselectively connectable thereto The host computer may store user accountbalances for a plurality of users. Also, the host computer and thecomputer workstations when connected may cooperate to initiate usersessions at the computer workstations responsive to user requestsidentifying the users if the requesting users have respective useraccount balances above a threshold balance. The host computer andcomputer workstations may also cooperate to update respective useraccount balances based upon the user sessions, and terminate the usersessions when respective user account balances fall below the thresholdbalance.

[0010] Moreover, each computer workstation when disconnected from thehost computer may also advantageously initiate a user session responsiveto a user request, and store session information for updating therespective user account balance when reconnected with the host computer.As such, when the host computer is down or otherwise unavailable, userswill still have access to the computer workstations, and any requisitedebits that need to be made to their user account balances may be donewhen the workstation and host computer are reconnected. Further still,the computer workstations may also terminate the user sessions when asession time limit has expired. This promotes fairness in computerworkstation usage as it provides equal usage time to all users

[0011] Additionally, when the computer workstations are connected to thehost computer, the computer workstations may copy respective useraccount balances from the host computer upon initiation of usersessions, and update the copied user account balances based uponcomputer usage during the respective user sessions. That is, thecomputer workstations can keep a running user account balance during thesession. By way of example, the user account balances may include timeand/or monetary balances, which may be debited appropriately based uponthe time or other resources (e.g., printed pages, etc.) a user consumesduring his session. In accordance with this particularly advantageousaspect of the invention, after termination of the user sessions thecomputer workstations may send updated user account balances to the hostcomputer. As such, numerous communications need not be sent back andforth between the computer workstations and host computer during asession to keep account balances current, which reduces network trafficand processing requirements.

[0012] The computer network may also advantageously include at least onereservation computer for cooperating with the host computer to scheduleuser session reservations in advance of user sessions. In particular,the host computer and the at least one reservation computer mayadvantageously cooperate to provide a requesting user an estimated waittime before a user session will be made available based upon elapseddurations of user sessions in progress and a number of pending usersession reservation requests.

[0013] Moreover, in certain embodiments the computer workstations may beassigned to one of a plurality of groups. Thus, if computer workstationsfrom a given group are not available for user session reservations at arequested time, the host computer and the at least one reservationcomputer may cooperate to provide alternate user session reservationsfor computer workstations of another group that are available at therequested time. Further, the host computer and the at least onereservation computer may also cooperate to schedule user sessionreservations based upon a maximum number of allowable user sessionreservations and/or an amount of time that will elapse before therespective user session.

[0014] In addition, the host computers and computer workstations mayalso cooperate to determine total network usage based upon user sessionsin progress and to allow user sessions to exceed the session time limitif the total network usage is below a threshold. The host computer mayalso advantageously store respective user settings for each user so thatthe computer workstations may cooperate with the host computer toimplement user settings for respective users upon initiating usersessions. Thus, users need not re-configure their computer “desktop”each time they initiate a user session, but instead only have to do soonce and these settings are implemented during later sessions.

[0015] Additionally, the host computer and the computer workstations mayinitiate the user sessions based upon other rules which can be definedby a network administrator. For example, these rules might include anumber of allowable user sessions and/or a total usage time limit withina predetermined time period (e.g., a day).

[0016] A method aspect of the invention is for using a computer network,such as the one briefly described above. The method may include storinguser account balances for a plurality of users at the host computer and,if the host computer and the computer workstations are connected,initiating user sessions at the computer workstations responsive to userrequests identifying the users if the requesting users have respectiveuser account balances above a threshold balance. Further, respectiveuser account balances may be updated based upon the user sessions, andthe user sessions terminated when respective user account balances fallbelow the threshold balance. Moreover, if a computer workstation isdisconnected from the host computer, then the method may includeinitiating a user session at the computer workstation responsive to auser request, and storing session information at the computerworkstation for updating the respective user account balance whenreconnected with the host computer.

[0017] Another particularly advantageous aspect of the invention isdirected to a computer-readable medium having computer-executableinstructions for causing a computer workstation to perform varioussteps. In particular, when connected to a host computer, the steps mayinclude receiving a user request to initiate a work session at thecomputer workstation, and cooperating with host computer to initiate auser session at the computer workstation if the requesting user has arespective user account balance stored at the host computer above athreshold balance. Additionally, the instructions may cause the computerworkstation to cooperate with the host computer to update the useraccount balance based upon the user session, and terminate the usersession when the user account balance falls below the threshold balance.

[0018] Additionally, when the computer workstation is disconnected fromthe host computer, the steps may further include initiating a usersession at the computer workstation responsive to a user request, andstoring session information at the computer workstation for updating therespective user account balance when reconnected with the host computer.Furthermore, instructions may also be included for causing the computerworkstation, based upon a request from the host computer, to provide thehost computer with a time remaining until the session time limitexpires. As such, the host computer may use the estimated time from thecomputer workstations (and other computer workstations connected in acomputer network) to provide a user requesting a computer reservation anestimated time when a user session will be available via a registrationcomputer, for example.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is schematic block diagram of a computer network inaccordance with the present invention.

[0020]FIG. 2 is a schematic block diagram of an alternate embodiment ofthe computer network of FIG. 1.

[0021]FIG. 3 is a schematic block diagram of yet another embodiment ofthe computer network of FIG. 1

[0022]FIG. 4 is flow diagram of a method for using the computer networkof FIG. 1.

[0023]FIG. 5 is a flow diagram of an alternate embodiment of the methodof FIG. 4.

[0024]FIG. 6 is a flow diagram of a method for using the computernetwork of FIG. 2.

[0025]FIG. 7 is a flow diagram of a method for using the computernetwork of FIG. 3.

[0026]FIG. 8 is a flow diagram of an alternate embodiment of the methodof FIG. 7.

[0027]FIG. 9 is a schematic block diagram of a prior art computernetwork and reservation and time management system therefor.

[0028]FIG. 10 is a computer screen printout of a log on screen for theprior art system illustrated in FIG. 9.

[0029]FIG. 11 is a screen printout illustrating an informational windowgenerated by the prior art system illustrated in FIG. 9.

[0030]FIG. 12 is a screen printout of another informational windowgenerated by the prior art system illustrated in FIG. 9.

[0031]FIG. 13 is a schematic block diagram of a network computerconfiguration for implementing the reservation function of the prior artsystem of FIG. 9.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0032] The present invention will now be described more fullyhereinafter with reference to the accompanying drawings, in whichpreferred embodiments of the invention are shown. This invention may,however, be embodied in many different forms and should not be construedas limited to the embodiments set forth herein. Rather, theseembodiments are provided so that this disclosure will be thorough andcomplete, and will fully convey the scope of the invention to thoseskilled in the art. Like numbers refer to like elements throughout, andprime and multiple prime notation are used to indicate similar elementsin alternate embodiments.

[0033] The various features and advantages of the present invention maybe implemented in a variety of computer systems, methods, and computersoftware applications, as will be described further below. Inparticular, the features of the invention are well suited for use in thePharos software application Signup, noted above. As such, the prior artSignUp system will now be described with reference to FIGS. 9-13 asbackground to aid in understanding the subsequent description of thepresent invention.

[0034] More particularly, SignUp can require users to reserve their useof any computer workstation 101, such as a personal computer (PC), in acomputer network 100. This provides better control over the use ofnetwork resources, more efficient use in a high demand environment, andthe possible ability to spread load across workstations 101. Theinformation gathered through the SignUp system allows more accurateassessment of any computer's value-in-use, produces evidence of the needto increase or reduce the quantities of any type of computer, andimproves departmental budgeting by pinpointing cost over-runs and areasof need impact on users. Moreover, it may also encourage betterpre-planning of specific tasks to ensure the computer(s) needed tocomplete it can be reserved in time, as well as reduce the use ofcomputers for less necessary, personal or frivolous tasks, ifappropriate in a given application.

[0035] SignUp works as follows. A small application called a SignUpclient 102 is installed on all user computer workstations 101 to becontrolled. Only a single computer workstation 101 is shown in FIG. 9for clarity of illustration, but any number of workstations may be used.The SignUp client application 102 runs in the background on all of theuser workstations 101 and controls user access to the workstations. Thatis, each workstation 101 controlled by the SignUp system has acorresponding computer record in the database. The properties configuredfor a given workstation 101 affect its availability to users. Theseproperties are sent to the SignUp client 102 via a SignUp service(described further below).

[0036] The SignUp client 102 ensures that all time quotas are enforcedand that the workstation 101 is available for any queued reservationsthat have been assigned to it. It functions in conjunction with a SignUpserver or host computer 103. However, the workstation 101 will work instandalone mode if the SignUp server 103 is unavailable. The SignUpclient 102 requires all users to identify themselves before being ableto use the workstation 101. A user is unable to log on unless they havereserved the workstation 101, or it currently has no reservations.

[0037] The SignUp client 102 is visible to users in three ways. Thefirst is via the logon screen 104 (FIG. 10), which replaces the normalWindows logon dialog. When idle, it displays the status of theworkstation 101, and when a user requests to initiate a user session onthe workstation, the Signup client 102 prompts the user for theiridentification (ID) and password. These may be assigned ahead of time bya system administrator, for example.

[0038] The second way in which the Signup client 102 is visible to theuser during a session is when a SignUp icon 105 appears in the systemtray. Hovering the mouse pointer over the icon 105 opens a window 106showing the user how much time he has remaining in his session, asillustratively shown in FIG. 11. Third, the SignUp Client can alsodisplay a message window 107 to the user (FIG. 12). These messages maybe system generated (e.g., warnings that the session is about to end),or sent to the user by a staff member using a management application.

[0039] Installing the SignUp client 102 software also inserts aworkstation 101 entry into the database at the server 103. The SignUpclient 102 controls access to the workstation 101, enforces all time/usequotas, and ensures that the workstation 101 is available for anyreservations that have been assigned to it. Information on reservationsessions is communicated to the SignUp service at the SignUp server 103.As shown in the alternate embodiment illustrated in FIG. 13, thedatabase and the SignUp service may be implemented on separate servers103 b′ and 103 a′, if desired.

[0040] The SignUp service is Windows-based and runs on the server 103 or103 a′ and manages all workstations 101 in a defined area, e.g., on onefloor of a building. Multiple SignUp services may operate within thesystem or network 100. The SignUp service controls access toworkstations 101 according to reservation requirements and theavailability options configured for each workstation.

[0041] The SignUp service supplies the SignUp client 102 with itsconfiguration information (e.g., where it is located, what type ofcomputer it is, what types of reservations it will accept, between whichhours it is available). When a user attempts to log on at a workstation101 running the SignUp client 102, the SignUp client passes the detailssupplied by the user back to the SignUp service, which checks thedetails against the database. If the user is successfully authenticated,the SignUp service also returns details of any account information(e.g., reservation quotas, monetary balance, etc.) the user may have.

[0042] Where reservations are to be required, the user requests aworkstation 101 at a dedicated reservation computer 104′ set up as astation providing access to network services. This reservation computer104′ is connected to the SignUp service on the server 103 a′, which hasan overview of all the available workstations 101. The SignUp serviceallows (or disallows) the user's reservation request on the spot. ASignUp service manages all workstations 101 in a defined area, e.g., onefloor of a building. Many SignUp services may operate within the system.The SignUp service controls access to workstations 101 according toreservation requirements and the availability options configured for thegiven computer. Where reservations in advance are not required, usersmay begin sessions at any available workstation 101 simply by walking upand logging on.

[0043] When a queued reservation is made, the user first makes areservation request and the SignUp service places a request in a queuewhich is displayed at a queue station 105′, for example. As users areassigned workstations 101, they are directed to go to their respectiveworkstation to start a session. The reservation is recorded in thedatabase at the server 103 b′.

[0044] Referring again to FIG. 9, when a reservation is activated, theuser logs on to the workstation 101 and the SignUp client 102 sends thesupplied details to the SignUp server 103., The SignUp server 103informs the SignUp client 102 if the logon was successful. At the startof the session, the SignUp client 102 passes session details (e.g.,start time) to the SignUp server 103. At the end of the session, theSignUp client 102 passes session details (e.g., finish time) to theSignUp server 103.

[0045] With the foregoing background in mind, the various aspects andfeatures of the present invention are now first described with referenceto a computer system 20 and related method for using the sameillustrated in FIGS. 1 and 4, respectively. In particular, the computernetwork 20 illustratively includes a host computer 21 (e.g., a server)and a plurality of computer workstations 22 selectively connectablethereto. The computer workstations 22 may run local or remoteapplications, for example, such as thin client applications, clientserver applications, Web-based applications, word processors, spreadsheets, etc. By way of example, the computer workstations 22 may be PCs,but they could also be mainframe terminals, Macintosh computers, thinclient or LINUX based, or other suitable workstations, as will beappreciated by those skilled in the art.

[0046] It should also be noted that the host device 21 could be adesignated computer workstation 22, or the various host functions (whichwill be described further below) could be distributed among severalcomputer workstations, such as in a peer-to-peer configuration, forexample. Also, as used herein, reference to the host computer 21 andcomputer workstations 22 being “connected” simply means that there issome data communication link therebetween. In the illustratedembodiment, this link is shown as a wired link, which could be a fiberor electrical data cable, for example, but wireless or other suitablecommunication links may also be used. Moreover, reference herein to thehost computer 21 and computer workstations 22 being “disconnected”simply means that for some period data communication therebetween isdisabled for whatever reason. For example, this could occur when thehost computer 21 is turned off, it is taken offline, there is signalinterference (such as in the case of a wireless link), a cable to thehost computer is damaged or unplugged, etc.

[0047] The method begins (Block 40) with storing user account balancesat the host computer 21, at Block 41, for the users authorized to usethe computer system 20. The user account balances, which will bediscussed further below, may be stored in a memory 23, as illustrativelyshown, which could be a hard disk drive or other suitable storagedevice, as will be appreciated by those of skill in the art.

[0048] Upon receiving a request to initiate a user session at aworkstation 22, at Block 42, the workstation determines if it isconnected to the host computer 21, at Block 43. If so, and if therequesting user has a respective user account balance above a thresholdbalance, at Block 44, then the computer workstation 22, cooperates withthe host computer to initiate the user session at the computerworkstation, at Block 45. The user request identifies the requestinguser and will typically include an individual user ID and password,although other suitable identifying indicia (e.g., biometrics, smartcards, etc.) may also be used. If the user's account balance is belowthe threshold balance, the host computer 21 will deny the request toinitiate a session (and cause the workstation 22 to inform the user,such as through windows similar to the window 107), at Block 50, thusconcluding the illustrated method (Block 51).

[0049] If the session is initiated, the host computer 21 and computerworkstation cooperate to update respective user account balances basedupon the user session, at Block 46. That is, the user account balancemay be a time balance, in which case the host computer 21 can deductfrom this balance as the user session progresses. Of course, the hostcomputer 21 could make such deductions relatively continuously,periodically, or simply at the end of the user session. The time balancemay be established in a variety of ways, such as by allotting an equalamount of time to all users, or simply allowing users to purchasevarious quantities of time.

[0050] Another approach is to use a monetary account balance. As such,if users are to be charged for the time they spend using a workstation22, the appropriate amount of money can be deducted from the useraccount balances. A monetary account also provides the network owner theflexibility to bill for other functions performed during the usersessions beyond the time of computer usage, such as printing, forexample. Of course, both monetary and time account balances could bemaintained in a given application, if desired.

[0051] The host computer 21 and computer workstation 22 also cooperateduring the user session to determine when a respective user's accountbalance falls below the threshold balance, at Block 47. Again, thiscould be determined based upon how long the user continues to use theworkstation 22 in the case of a time balance, or the amount of fundsremaining in the user's account after charges for time used and/orprinting, etc. are deducted from a monetary account balance. It shouldalso be noted that the threshold balance can be set to any desiredvalue, even zero, depending upon the particular application and thenetwork administrator's or organization's preferences or policies, forexample, and could even be different users for different computer types.

[0052] If the user's account balance does fall below the thresholdbalance, then the host computer 21 and computer workstation 22 cooperateto terminate the user's session, at Block 48, concluding the illustratedmethod (Block 49). For example, when the host computer 21 updates theuser's account balance based upon elapsed session time, print charges,etc., and the balance falls below the threshold balance, the hostcomputer could then send an instruction to the workstation 22 causing itto terminate the session and notify the user accordingly. Otherapproaches for account updating and termination may also be used, aswill be discussed further below.

[0053] In accordance with the invention, the computer network 20advantageously provides for enhanced flexibility of operation when thehost computer 21 and user workstations 22 are disconnected. Inparticular, when disconnected from the host computer 21 (Block 43), eachworkstation 22 can, on its own, initiate a user session responsive to auser request, at Block 52. The disconnection between the host computer21 and workstations 22 is illustratively shown with an open switch 25 inFIG. 1 for clarity of illustration. Again, it should be remembered thatas used herein “disconnection” does not mean solely a physicaldisconnection as in the case of an actual switch, rather it can be anyevent which causes the data communications between the host computer 21and workstation(s) 22 to be interrupted, as noted above.

[0054] As will be appreciated by those of skill in the art, many typicaltime out and/or reservation systems do not allow a user to initiate auser session unless the user's account balance is first verified, whichwould not be possible when a data link to the host computer 21 is notestablished. Yet, the workstations 22 may be set to initiate such a“stand-alone” session when any valid identifier (e.g., a password havingthe correct number and/or type of characters) is entered, for example.Of course, other criteria for determining a valid password, biometric,etc. (or none at all) could be used.

[0055] Once the workstation 22 initiates the user session, theworkstation then stores session information for updating the respectiveuser account balance when reconnected with the host computer, at Block53. The session information may be stored in memories 24 of theworkstations 22, for example. Again, such memories may be hard drives,random access memories (RAMs), or any other suitable storage medium.Thus, in accordance with the present invention, users will still be ableto use the workstations 22 during a host computer 21 outage, but anyrequisite charges that need to be made to their user account balancesmay advantageously be performed when the workstations and host computerare reconnected, at Block 54.

[0056] In the above described stand-alone mode, as much information ispreferably cached at the workstations 22 as possible ahead of time(e.g., upon network initialization), giving the workstations the abilityto function when the host computer 21 is unavailable (for whateverreason). The workstations 22 will be available for immediate (i.e.,walk-up) reservations. Of course, if the host computer 21 comes backonline while the session is still in progress, the workstations 22 willpreferably check the user's account details and, if they are not validor the user's account balance is below the threshold balance, thesession is terminated as described above. Alternately, a workstation 22can continue a session in progress if the host computer 21 becomesunavailable after the session is initiated.

[0057] Turning now additionally to FIG. 5, still further advantageousfeatures may also be included in the above-described method and computernetwork 20. For example, the host computer 21 may also advantageouslystore respective user settings for each user so that the computerworkstations 22 may cooperate with the host computer to implement usersettings for respective users upon initiating user sessions, at Block55′. Thus, users need not re-configure their computer “desktop” eachtime they initiate a user session, but instead only have to do so onceand these settings will be implemented during later sessions, as will beappreciated by those skilled in the art.

[0058] Other network profiles and policies may also be stored at thehost computer 21 and associated with the specified users' accounts,thereby controlling users' access to features of their desktopenvironment. Moreover, in some embodiments users can be logged onto thecomputer workstations 22 using a common guest account, and multipleenvironments may be set up to allow for multiple available guest logons,as will be appreciated by those skilled in the art.

[0059] Further still, the computer workstations 22 and/or computer host21 also preferably implement a time out feature as described above. Thatis, the computer workstations 22 preferably determine when a sessiontime limit has expired, at Block 56′, at which time the session can beterminated (Block 48′). This promotes fairness in computer workstationusage as it provides equal usage time to all users. Of course, thiscould also be done on a resource usage basis For example, a user couldbe limited to a certain amount of time on a pay service (e g.,LEXIS/NEXIS), processing time, volume of data use, bandwidth, etc.

[0060] The session time limit will typically be set ahead of time by anetwork administrator based upon the organization's policies orpreferences, for example, and can be any desired duration. Additionally,the various time limits, rules, etc., could be dynamically adjusted bythe host computer 21 based upon outages of computer workstations 22,loss of databases or Internet connections, or other events, for example.This can be done at the host computer 21, or at a workstation 22 orother network computer by entering an administrator identification orpassword which will allow the administrator to modify system settingsstored at the host computer, for example, as well as circumvent otheruser rules.

[0061] Rather than immediately terminating a user session when thesession limit expires, however, the host computer 21 and workstations 22may optionally be set to advantageously cooperate and determine totalnetwork usage based upon user sessions in progress, at Block 57′. Assuch, if the total network usage is below a predetermined threshold,(e.g., a predetermined number of computers are not in use or reserved,etc.), at Block 56′, the user sessions may then advantageously bepermitted to exceed the session time limit, at Block 58′. Of course, therequisite threshold account balance can still be enforced (Block 47′)

[0062] Turning now additionally to FIGS. 2 and 6, an alternate computernetwork 20′ and related method for use thereof in accordance with theinvention will now be described. In the illustrated embodiment, uponinitiation of a user session, the computer workstation 22′ in questioncopies the respective user's account balance from the host computer 21,at Block 60″. Then, the user account balances stored at the computerworkstation 22′ are updated (Block 61″) at the workstation based uponcomputer usage, printing, etc., during the respective user session. Thatis, the computer workstation 22′ keeps a “running” user account balanceduring the session, which again may be time and/or monetary balances, asnoted above.

[0063] In accordance with this particularly advantageous aspect of theinvention, after termination of the user session, at Block 62″, thecomputer workstation 22′ sends an updated user account balance to thehost computer 21′, at Block 63″, thus concluding the illustrated method(Block 64″). Such termination may be for any of the reasons set forthabove or others (i.e., session time limit exceeded, account balancefalls below minimum threshold known to the computer workstation 22′,user log-off, power failure, etc.). As such, numerous communicationsneed not be sent back and forth between the computer workstations 22 andhost computer 21 to keep account balances current, which reduces networktraffic as well as processing requirements.

[0064] Yet another advantageous computer network 20″ and associatedmethod for using the same will now be described with reference to FIGS.3 and 7. In particular, the computer network 20″ includes one or morereservation computers 26″ for cooperating with the host computer 21″ toschedule user session reservations in advance of user sessions, such asin the manner described above with reference to the existing SignUpsoftware application. By way of example, the reservation computer 26″could be local (i.e., at the same location as the computer workstations22″), or it could be remotely located and connectable to the hostcomputer 21″ via the Internet, etc., for example. In some embodiments,reservations could also be made via a telephonic interface as well, aswill be appreciated by those skilled in the art.

[0065] In accordance with the invention, beginning at Block 70, once areservation request has been received at the reservation computer 26″,the host computer 21″ and the reservation computer cooperate to schedulethe reservation (if the appropriate account information/balance isverified). Further, they also advantageously cooperate to provide therequesting user an estimated wait time before a user session will bemade available based upon elapsed durations of user sessions in progressand a number of pending user session reservation requests, at Blocks 73and 74, thus concluding the illustrated method (at Block 75).

[0066] The pending session requests can be stored in a memory 27″ at thereservation computer 26″. Of course, they could also be stored at thehost computer 21″ (or elsewhere) if desired. It should also be notedthat the reservation need not automatically be scheduled upon receipt ofa reservation request, but the user may instead be allowed to decidewhether to confirm a reservation based upon the estimated wait time. Themanner in which the elapsed durations are determined will vary dependingupon whether the host computer 21″ or the workstations track the sessiontimes, for example.

[0067] If it is the latter, then the host computer 21″ could poll thecomputer workstations 22″ based upon a reservation request to get thisinformation and either forward this information to the reservationcomputer 26″ so that it can estimate the wait time, or the host computercould estimate the wait time and forward it to the reservation computer.Those of skill in the art will appreciate that several variations onthis process are possible depending upon a given network configuration,and all such variations are included within the scope the presentinvention.

[0068] With additional reference to an alternate embodiment of themethod illustrated in FIG. 8, the computer workstations 22″ may beassigned to one of a plurality of groups. This could be done based uponthe location of the workstations, intended computer use, workstationtype (e.g., PCs, Macintosh computers, mainframe terminals, etc.) Thiscould also be done based upon the applications available on a computerworkstation 22″, network policies/rules for computer use, user type(i.e., certain computers could be reserved for certain types of uses,patrons, etc.), computer configuration, and user profiles, for example.

[0069] If computer workstations 22″ from a given group are not availablefor user session reservations at a requested time, at Block 80′, thehost computer 21″ and the reservation computer 26″ then cooperate toprovide or suggest alternate user session reservations for computerworkstations of another group that are available at the requested time.The order in which the various workstation types will be considered asalternatives will preferably be settable by the network administrator,e.g., as in the manner described above for making other networksettings. If the user accepts the alternate reservation, at Block 82′,then the reservation may be confirmed and scheduled, at Block 72′. Theorganization of computers may also be in two levels: branches(representing actual physical locations), and computer groups withinthose branches (representing the physical grouping of workstations 22″within a location). Some system properties can be configured globallyacross all branches, others apply per group.

[0070] Various other advantageous features may also be implemented inone or more of the above-described embodiments. For example, the hostcomputer 21″ and the reservation computer 26″ may also cooperate toschedule user session reservations based upon a maximum number ofallowable user session reservations and/or an amount of time that willelapse before the respective user session. For example, rules may be setto permit a user to only have two sessions in a given day, or a totalusage time of two hours within a day. Of course, any number of settingsand time limits may be used. Further, other rules and/or policies may beused to override current rules and/or policies and be effective within agiven time period (e.g., rules may be implemented to prohibit usersessions during a given period regardless of user status or accountbalance).

[0071] The present invention also advantageously allows for theintegration of the reservation computer 26″ with otheraccounts/print/copy stations or computers. That is, certain prior artapproaches allow a reservation system to be integrated with a print/copymanagement system to allow limited account maintenance from theirreservation computer. According to the present invention, reservation,printing, copying, and/or account maintenance tasks may alladvantageously be performed from one application running at thereservation computer 26″ and/or host computer 21″, for example. Inaddition, a scripting interface may also be provided to allow forcustomizable reservation rules.

[0072] It should also be noted that the above described aspects andfeatures may advantageously be implemented in software or othercomputer-readable medium having computer-executable instructions for oneor more of the above-described computers. Also, the various featuresdiscussed herein may be included in numerous different combinationsother than the exemplary embodiments illustratively shown.

[0073] Moreover, many modifications and other embodiments of theinvention will come to the mind of one skilled in the art having thebenefit of the teachings presented in the foregoing descriptions and theassociated drawings. Therefore, it is understood that the invention isnot to be limited to the specific embodiments disclosed, and thatmodifications and embodiments are intended to be included within thescope of the appended claims.

That which is claimed is:
 1. A computer network comprising: a hostcomputer and a plurality of computer workstations selectivelyconnectable thereto, said host computer for storing user accountbalances for a plurality of users; said host computer and said computerworkstations when connected cooperating to initiate user sessions at thecomputer workstations responsive to user requests identifying the usersif the requesting users have respective user account balances above athreshold balance, update respective user account balances based uponthe user sessions, and terminate the user sessions when respective useraccount balances fall below the threshold balance; each computerworkstation when disconnected from said host computer initiating a usersession responsive to a user request, and storing session informationfor updating the respective user account balance when reconnected withsaid host computer.
 2. The computer network of claim 1 wherein saidcomputer workstations terminate the user sessions when a session timelimit has expired.
 3. The computer network of claim 1 wherein, when saidcomputer workstations are connected to said host computer, said computerworkstations: copy respective user account balances from said hostcomputer upon initiation of user sessions; update the copied useraccount balances stored therein based upon computer usage during therespective user sessions; and send updated user account balances to saidhost computer after termination of the user sessions.
 4. The computernetwork of claim 1 further comprising at least one reservation computerfor cooperating with said host computer to schedule user sessionreservations in advance of user sessions.
 5. The computer network ofclaim 4 wherein said host computer and said at least one reservationcomputer cooperate to provide a requesting user an estimated wait timebefore a user session will be made available based upon elapseddurations of user sessions in progress and a number of pending usersession reservation requests.
 6. The computer network of claim 4 whereinsaid computer workstations are each assigned to one of a plurality ofgroups; and wherein if computer workstations from a given group are notavailable for user session reservations at a requested time, said hostcomputer and said at least one reservation computer cooperate to providealternate user session reservations for computer workstations of anothergroup that are available at the requested time.
 7. The computer networkof claim 4 wherein said host computer and said at least one reservationcomputer cooperate to schedule user session reservations based upon atleast one of a number of allowable user session reservations and anamount of time that will elapse before the respective user session. 8.The computer network of claim 1 wherein said host computers and computerworkstations also cooperate to determine total network usage based uponinitiated user sessions, and cooperate to allow user sessions to exceedthe session time limit if the total network usage is below a threshold.9. The computer network of claim 1 wherein said host computer alsostores respective user settings for each user, and wherein said computerworkstations cooperate with said host computer to implement usersettings for respective users upon initiating user sessions.
 10. Thecomputer network of claim 1 wherein said host computer and said computerworkstations initiate the user sessions also based upon a number ofallowable user sessions within a predetermined time period.
 11. Thecomputer network of claim 1 wherein said host computer and said computerworkstations initiate the user sessions also based upon a total usagetime limit within a predetermined time period.
 12. The computer networkof claim 1 wherein the user account balances comprise time balances. 13.The computer network of claim 1 wherein the user account balancescomprise monetary balances.
 14. A computer network comprising: a hostcomputer for storing user account balances for a plurality of users; anda plurality of computer workstations for cooperating with said hostcomputer to initiate user sessions at the computer workstationsresponsive to user requests identifying the users if the requestingusers have respective user account balances above a threshold balance;each computer workstation copying a respective user account balance fromsaid host computer upon initiation of a user session, updating thecopied user account balance stored therein based upon computer usageduring the respective user session, and sending an updated user accountbalance to said host computer after termination of the user session. 15.The computer network of claim 14 wherein said computer workstationsterminate the user sessions when a session time limit has expired. 16.The computer network of claim 14 further comprising at least onereservation computer for cooperating with said host computer to scheduleuser session reservations in advance of user sessions.
 17. The computernetwork of claim 16 wherein said host computer and said at least onereservation computer cooperate to provide a requesting user an estimatedwait time before a user session will be made available based uponelapsed durations of user sessions in progress and a number of pendinguser session reservation requests.
 18. The computer network of claim 16wherein said computer workstations are each assigned to one of aplurality of groups; and wherein if computer workstations from a givengroup are not available for user session reservations at a requestedtime, said host computer and said at least one reservation computercooperate to provide alternate user session reservations for computerworkstations of another group that are available at the requested time.19. The computer network of claim 14 wherein said host computers andcomputer workstations also cooperate to determine total network usagebased upon initiated user sessions, and cooperate to allow user sessionsto exceed the session time limit if the total network usage is below athreshold.
 20. The computer network of claim 14 wherein said hostcomputer also stores respective user settings for each user, and whereinsaid computer workstations cooperate with said host computer toimplement user settings for respective users upon initiating usersessions.
 21. The computer network of claim 14 wherein the user accountbalances comprise at least one of time balances and monetary balances.22. A computer network comprising: a host computer for storing useraccount balances for a plurality of users; a plurality of computerworkstations cooperating with said host computer to initiate usersessions at the computer workstations responsive to user requestsidentifying the users; and at least one reservation computer forcooperating with said host computer to schedule user sessionreservations in advance of user sessions and provide a requesting useran estimated wait time before a user session will be made availablebased upon elapsed durations of user sessions in progress and a numberof pending user session reservation requests.
 23. The computer networkof claim 22 wherein said computer workstations terminate the usersessions when a session time limit has expired.
 24. The computer networkof claim 22 wherein said computer workstations are each assigned to oneof a plurality of groups; and wherein if computer workstations from agiven group are not available for user session reservations at arequested time, said host computer and said at least one reservationcomputer cooperate to provide alternate user session reservations forcomputer workstations of another group that are available at therequested time.
 25. The computer network of claim 22 wherein said hostcomputers and computer workstations also cooperate to determine totalnetwork usage based upon initiated user sessions, and cooperate to allowuser sessions to exceed the session time limit if the total networkusage is below a threshold.
 26. The computer network of claim 22 whereinsaid host computer also stores respective user settings for each user,and wherein said computer workstations cooperate with said host computerto implement user settings for respective users upon initiating usersessions.
 27. The computer network of claim 22 wherein said computerworkstations and said host computer cooperate to initiate the usersessions if the requesting users have respective user account balancesabove a threshold balance; and wherein said computer workstations andsaid host computer further cooperate to update respective user accountbalances based upon the user sessions, and terminate the user sessionswhen respective user account balances fall below the threshold balance.28. The computer network of claim 27 wherein the user account balancescomprise at least one of time balances and monetary balances.
 29. Amethod for using a computer network comprising a host computer and aplurality of computer workstations selectively connectable thereto, themethod comprising: storing user account balances for a plurality ofusers at the host computer; if the host computer and the computerworkstations are connected then initiating user sessions at the computerworkstations responsive to user requests identifying the users if therequesting users have respective user account balances above a thresholdbalance, updating respective user account balances based upon the usersessions, and terminating the user sessions when respective user accountbalances fall below the threshold balance; and if a computer workstationis disconnected from the host computer then initiating a user session atthe computer workstation responsive to a user request, and storingsession information at the computer workstation for updating therespective user account balance when reconnected with the host computer.30. The method of claim 29 further comprising terminating the usersessions when a session time limit has expired.
 31. The method of claim29 wherein, when the computer workstations are connected to the hostcomputer, the method further comprises: copying respective user accountbalances from the host computer at the computer workstations uponinitiation of user sessions; updating the copied user account balancesbased upon computer usage during the respective user sessions; andsending updated user account balances from the computer workstations tothe host computer after termination of the user sessions.
 32. The methodof claim 29 wherein the network further comprises at least onereservation computer, and wherein the method further comprisesscheduling user session reservations in advance of user sessions basedupon user reservation requests at the at least one reservation computer.33. The method of claim 32 further comprising providing a requestinguser an estimated wait time before a user session will be made availablebased upon elapsed durations of user sessions in progress and a numberof pending user session reservation requests.
 34. The method of claim 29wherein, when the host computer and computer workstations are connected,the method further comprises determining total network usage based uponinitiated user sessions, and allowing user sessions to exceed thesession time limit if the total network usage is below a threshold. 35.The method of claim 29 wherein the user account balances comprise atleast one of time balances and monetary balances.
 36. A method for usinga computer network comprising a host computer and a plurality ofcomputer workstations selectively connectable thereto, the methodcomprising: storing user account balances for a plurality of users atthe host computer; initiating user sessions at the computer workstationsresponsive to user requests identifying the users if the requestingusers have respective user account balances above a threshold balance;copying user account balances for respective users from the hostcomputer to the computer workstations upon initiation of user sessionsthereon; updating the copied user account balances at the computerworkstations based upon computer usage during the respective usersessions; and sending updated user account balances from the usercomputers to the host computer after termination of the user sessions.37. The method of claim 36 further comprising terminating the usersessions when a session time limit has expired.
 38. The method of claim36 wherein the network further comprises at least one reservationcomputer, and wherein the method further comprises scheduling usersession reservations in advance of user sessions based upon userreservation requests at the at least one reservation computer.
 39. Themethod of claim 38 further comprising providing a requesting user anestimated wait time before a user session will be made available basedupon elapsed durations of user sessions in progress and a number ofpending user session reservation requests.
 40. The method of claim 36wherein the user account balances comprise at least one of time balancesand monetary balances.
 41. A method for using a computer networkcomprising a host computer, at least one reservation computerselectively connectable to the host computer, and a plurality ofcomputer workstations also selectively connectable to the host computer,the method comprising: scheduling reservations for user sessions at thecomputer workstations based upon user reservation requests at the atleast one reservation computer; determining elapsed durations of usersessions in progress on the computer workstations; and providing arequesting user an estimated wait time before a user session will bemade available based upon the elapsed durations of user sessions inprogress and a number of pending user session reservation requests. 42.The method of claim 41 further comprising terminating the user sessionswhen a session time limit has expired; and wherein providing furthercomprises providing the estimated wait time also based upon the sessiontime limits.
 43. The method of claim 41 further comprising: storing useraccount balances for a plurality of users at the host computer; andinitiating the user sessions when available if the requesting users haverespective user account balances above a threshold balance.
 44. Themethod of claim 43 wherein the user account balances comprise at leastone of time balances and monetary balances.
 45. A computer readablemedium having computer-executable instructions for causing a computerworkstation to perform steps comprising: when connected to a hostcomputer receiving a user request to initiate a work session at thecomputer workstation, cooperating with the host computer to initiate auser session at the computer workstation if the requesting user has arespective user account balance stored at the host computer above athreshold balance, cooperating with the host computer to update the useraccount balance based upon the user session, and terminating the usersession when the user account balance falls below the threshold balance;and when disconnected from the host computer initiating a user sessionat the computer workstation responsive to a user request, and storingsession information at the computer workstation for updating therespective user account balance when reconnected with the host computer.46. The computer-readable medium of claim 45 further comprisinginstructions for causing the computer workstation to terminate the usersession when a session time limit has expired.
 47. The computer-readablemedium of claim 45 further comprising instructions for causing thecomputer workstation, based upon a request from the host computer, toprovide the host computer with a time remaining until the session timelimit expires.
 48. The computer-readable medium of claim 45 furthercomprising instructions for causing the computer workstation, whenconnected to the host computer, to: copy the respective user accountbalance from the host computer upon initiation of the user session;update the copied user account balance at the computer workstation basedupon computer usage during the user session; and send an updated useraccount balance to the host computer after termination of the usersession.
 49. The computer-readable medium of claim 45 wherein the useraccount balances comprise at least one of time balances and monetarybalances.
 50. A computer-readable medium having computer-executableinstructions for causing a computer workstation to perform stepscomprising: cooperating with a host computer to initiate a user sessionat the computer workstation responsive to a user request identifying theuser if the requesting user has a respective user account balance storedat the host computer above a threshold balance; copying the user accountbalance for the user from the host computer upon initiation of usersession; updating the copied user account balance based upon computerusage during the user session; and sending an updated user accountbalance to the host computer after termination of the user session. 51.The computer-readable medium of claim 50 further comprising instructionsfor causing the computer workstation to terminate the user session whena session time limit has expired.
 52. The computer-readable medium ofclaim 50 further comprising instructions for causing the computerworkstation, based upon a request from the host computer, to provide thehost computer with a time remaining until the session time limitexpires.
 53. The computer-readable medium of claim 50 wherein the useraccount balances comprise at least one of time balances and monetarybalances.
 54. A computer-readable medium having computer-executableinstructions for causing a reservation computer to perform stepscomprising: receiving user reservation requests; cooperating with a hostcomputer having a plurality of computer workstations connected theretoto schedule reservations for user sessions at the computer workstationsbased upon the reservation requests; and providing requesting usersestimated wait times before a user session will be available based uponelapsed durations of user sessions in progress and a number of pendinguser session reservation requests.
 55. The computer-readable medium ofclaim 54 wherein the computer workstations terminate the user sessionswhen a session time limit has expired; and wherein providing furthercomprises providing the estimated time also based upon the session timelimits.